module.exports = function(env) {
    this.loog = function() {
        if (env === 'development') {
            console.log.apply(null, arguments);
        }
    };
    this.log = function(promptMessage, data) {
        if (env === 'development') {
            if (data == undefined) {
                console.log(promptMessage);
                console.log('第二个参数 data == undefined 是 true');
                console.log('第二个参数 data === undefined');
                console.log(data === undefined);
                console.log('第二个参数 data === null');
                console.log(data === null);
            } else {
                console.log('');
                console.log('>>>> ' + promptMessage + ' 开始');
                try {
                    console.log(new Error(promptMessage));
                } catch(e) {
                    // 
                }
    
                // console.log('\r\n>>>>---- ' + promptMessage + ' 开始 ----');
                console.log('==== typeof 的结果 ====');
                console.log(typeof data);
                console.log('==== 要打印的对象 ==== ');
                console.log(data);
                // 因为可能存在递归引用，此时字符串化会报错，所以使用try catch 来处理；
                try {
                    console.log('==== 要打印的对象字符串化 ====');
                    console.log(JSON.stringify(data));
                } catch (e) {
                    if (e.message === 'Converting circular structure to JSON') {
                        console.log('---- Converting circular structure to JSON 所以无法字符串化输出');
                    }
                }
                console.log('---- ' + promptMessage + ' 结束 ----<<<<\r\n');
            }
        }
    };
};